package com.zhihuishu.micro.course.openapi.course;

import java.util.List;

import com.zhihuishu.micro.course.openapi.course.dto.MeetCourseOpenDto;
import com.zhihuishu.remote.RemoteException;
import com.zhihuishu.remote.RemoteResult;

/**
 * 见面课接口
 * @author Rain
 * @time 2016年9月14日-下午1:30:44
 *
 */
public interface MeetCourseOpenService {

	/**
	 * 获取见面课列表根据 课程id
	 * @author Rain
	 * @time 2016年9月14日-下午1:34:12
	 * @param courseId
	 * @return
	 */
	RemoteResult<List<MeetCourseOpenDto>> getMeetCourseList(Long courseId) throws RemoteException;
	
	/**
	 * 获取见面课根据meetCourseId 
	 * @author Rain
	 * @time 2016年9月14日-下午1:34:30
	 * @param meetCourseId
	 * @return
	 */
	RemoteResult<MeetCourseOpenDto> getMeetCourse(Long meetCourseId) throws RemoteException;
	
	/**
	 * 获取见面课总条数 根据课程id
	 * @author Rain
	 * @time 2016年9月14日-下午1:34:54
	 * @param courseId
	 * @return
	 */
	RemoteResult<Integer> findMeetCourseCount(Long courseId) throws RemoteException;
	
	/**
	 * 新增见面课
	 * @author Rain
	 * @time 2016年9月14日-下午1:35:09
	 * @param meetCourse
	 * @return
	 */
	RemoteResult<MeetCourseOpenDto> save(MeetCourseOpenDto meetCourse) throws RemoteException;
	
	/**
	 * 删除见面课 （逻辑删除）
	 * @author Rain
	 * @time 2016年9月14日-下午1:35:21
	 * @param meetCourseId
	 * @return
	 */
	RemoteResult<Boolean> remove(Long meetCourseId) throws RemoteException;
	
	/**
	 * 修改见面课
	 * @author Rain
	 * @time 2016年9月14日-下午1:35:30
	 * @param meetCourse
	 * @return
	 */
	RemoteResult<MeetCourseOpenDto> update(MeetCourseOpenDto meetCourse) throws RemoteException;
}
